source/lz4.d(92,1): Deprecation: Usage of the `body` keyword is deprecated. Use `do` instead. source/lz4.d(123,1): Deprecation: Usage of the `body` keyword is deprecated. Use `do` instead. source/test.d(23,40): Error: cast from `string` to `ubyte[]` not allowed in safe code source/test.d(23,2): while evaluating `pragma(msg, cast(string)decodeLZ4File(cast(ubyte[])"\x04\"M\x18d@\xa7d\x07\x00\x00\xf1\x1dmodule lz4;\x0a/**\x0a * CTFEable LZ4 decompressor\x1d\x00\xf1\x15opyright \xc2\xa9 2016 Stefan Koch\x0a * All !\x00\xf2\x17s reserved\x0a */\x0a\x09enum Endianess {\x0a\x09\x09Big\x11\x00\xa2,\x0a\x09\x09Little\x10\x00\xf1;\x0a\x09}\x0a\x09/// JUST TO DEMONSTRATE THAT IT IS UNLIKELY :)\x0a\x09auto unlikely(T)(T ex\xbb\x00\x91ionValue)v\x00lreturn\x1c\x00\xf7\x06;\x0a\x09}\x0a\x0a\x09T fromBytes(T,\xb0\x00\x15e\xba\x00\x16=\x16\x00\x18.\xb5\x00\xf2\x07) (const ubyte[] _datat\x00\xf2Ostatic assert(is(T : long)); // poor man's isIntegral\x0a\x09\x09T result;\x0a\x09\x09\x0a\x09\x09foreach(i;0 .. T.sizeofd\x00\x04e\x00Gif (\xae\x00\x0f\xaf\x00\x07b{\x0a\x09\x09\x09\x09a\x00Q |= (\xb1\x00\xf1\x07[i] << i*8);\x0a\x09\x09\x09} else:\x01\x0f-\x00\x06\xe5(T.length-1-i):\x00\x12\x0a\x04\x00\x03q\x01\x02i\x00\x01h\x01\xf1\x04\x09\x0a\x09struct LZ4Headera\x00\xf1#//TODO: finish this! (\"parsing\" LZ4 Frame format h<\x00\xf1\x04)\x0a\x09\x09int end = 7;\x0a\x09\x09\x84\x01c flags<\x01\xfc\x0bbool hasBlockIndependence;\x1d\x00\x88Checksum\x19\x00xContent\x1b\x00\xa2\x0a\x09\x09ulong c\x1c\x00\xdbSize;\x0a\x0a\x09\x09this\x0b\x02\x02\x0a\x023purI\x01\x03\x09\x02\xf2\x14((data[0] >> 6) & 0b11) == 0b01, \"F\xe8\x00\xff\x09can not be read\");\x0a\x09\x0a\x09\x09\x09\xd0\x00\x019 = X\x00\x135X\x00\x02\xcf\x01\x042\x00\x04\xca\x00\x0c.\x00\x164.\x00&\x0a\x09\x19\x01\x03\x00\x01LSize2\x00\x1532\x00\x11 \x15\x01\x04\x99\x00\x033\x00\x0fi\x00\x05\x1527\x00\x044\x00Fif (8\x003Siz\xb1\x03'\x09\x09b\x01& =\xa2\x03\x12!\x80\x01\x02E\x01r2 .. 9]O\x00\x04a\x01\x079\x00\x03\x19\x00\x02$\x02\"11\xdc\x02\x01\xb1\x00\x11}o\x04\x12\x0a4\x02![]\xf4\x04\x9fdeLZ4File\xc9\x01\x02%{\x0a\xc3\x01\x02\xc1\x01\xf1! .. 4] == [0x04, 0x22, 0x4d, 0x18], \"not a valid\xca\x02Afile\xca\x01\x02\xbb\x04$lz\x0b\x03\x16=\x17\x03\x02\xdc\x00\xf2\x045 .. $]); \x0a\x09\x09uint p\x03\x0a\x0e\x01#in\x90\x00\x05K\x00\x8a.end .. \x11\x00c+ uint=\x04\x12]\xea\x01\x03\xa5\x03\x05\xfc\x00\x02y\x00\x0f8\x00\x08\x02\x93\x00\x13,\x89\x00\x14)\xd8\x03\x04\xfd\x04\x06I\x00\x0a\x15\x05ainput,\x81\x00q blockL9\x04\x07\x1d\x03\x01\xdf\x00acoffse\xf8\x04\x04R\x00Qoutpu\x12\x00\xb4\x0a\x09\x09while(tr\xd5\x05\x02C\x01\xa2bitfield =h\x00\x13[G\x001++]\xf0\x01\xf5\x02auto highBits = (1\x00B>> 4\"\x02\x01$\x003low#\x00\x05\"\x00S& 0xFw\x03\x01\xaa\x02\x03G\x00\x02\x0e\x02\x03\xb7\x00\x82literals\xd5\x00# =4\x00\x11\x09\xb4\x00\x0a8\x00! !\x1e\x00\x04?\x00\x1d\x09;\x00\x04\xa8\x00\x01\xba\x00\x0a\x87\x05\x03\xff\x00\x0c\xe4\x00\x018\x04&xFT\x00\x0cU\x00\x11+s\x00\x12FR\x00\x01\x9c\x05\x0f$\x00\x02\x09X\x00\"-1<\x01\x01\x1f\x072\x09\x09\x09\x87\x01+ ~'\x00C .. n\x01: + \xcd\x00%];\x02\x01\x05#\x00\x1b=$\x00\x01\x94\x00\x18}\x0b\x04\x04+\x00*>=)\x02\x01\x86\x00\x03\xaf\x02\x02\x8d\x00\x01<\x00\x01w\x04Cif (\xbc\x01\x04\x05\x01\x01O\x02Xmatch\x95\x01B + 47\x00rushort p\x02I = (\xfe\x00_++] |\x14\x00\x00R<< 8)1\x02\x01y\x00\x08z\x00\x0c\xda\x01\x0a}\x00\x03\x9f\x00\x06\x81\x00\x09a\x07\x0f\xda\x01\x16\x08U\x00\x0f\xd7\x01\x02\x0b!\x00\x09\xd6\x00\x07\xd4\x01\x05\x9a\x01Eif (>\x09\x03\x0e\x01'< F\x00\x14)R\x01\x02\x81\x04\xf3\x09startMatch = cast(uint)\x94\x01\x03\x11\x08# -Z\x01\x01e\x04Q\x09\x09\x09//\xd7\x07\xf1$ works for now. Maybe it's even more complicated...\xf8\x01\x81 \x09// e.g\xd3\x04\xb3 widens thef\x00\" a\x0e\x00\x01\xb7\x00Q getsf\x09!er=\x00q\x09// but0\x00\xf2\x09docs seem to suggest tha\x1e\x00qfollowi\xdd\x07\xf2\x06de is indeed correct\x0aP\x00\x01\x86\x04\x0f7\x01\x10B // \xda\x08\xe4IS IT REALLY _p\x01\xf2\x00_ or could be _\xc3\x0a2_ ?f\x00\x07s\x03\x02\\\x01\x17[|\x017.. \x0e\x00\x13+\x08\x01\x03\xb3\x03\x0a\x06\x02#-=\x1e\x00\x02\xf9\x02\x04\xd1\x03\x0f_\x00\x1a\x01Y\x01\x02I\x03\x03d\x00\x0a\xbf\x02\x02\xa1\x00\x07\xab\x00\x15$\x02\x02V .. (\x0f\x00\x1f)N\x00\x03\x0ds\x0a\x0f\xa0\x03/\x0f\x94\x00\x1b\x124\xd8\x00\x90}\x0a\x09\x09}\x0a\x09}\x0a\x00\x00\x00\x00=\x12d.", cast(int)cast(ushort)65535u / 4))` source/test.d(24,40): Error: cast from `string` to `ubyte[]` not allowed in safe code source/test.d(24,2): while evaluating `pragma(msg, cast(string)decodeLZ4File(cast(ubyte[])"\x04\"M\x18d@\xa7\xef\x05\x00\x00\x18+\x01\x00\x81[->++>>>\x0d\x00\x00\x0b\x00!+<\x01\x004]>>\x16\x00Q+>---\x0f\x00\x07\x14\x00\x06A\x00\x15[\x1a\x002]+[=\x00\x05@\x00\x00\x01\x005-]+#\x00U[-]>]$\x00\x0f.\x00\x003[-]\x81\x00\x13<\x9f\x00\x16[{\x00\x1f+^\x00\x00\x04\x0a\x00/+>\x01\x00\x07\x068\x00\x0fz\x00\x03\x16[\xa3\x00\x17[\xa9\x00\x0f\xaa\x00\x0a\x06\xa9\x00\x0f\xa7\x00\x19\x073\x00\x0f6\x00\x1f\x0f\xbf\x00\x06\x01\xad\x00\x0a\xbe\x00\x03h\x00\x03G\x00\x036\x00\x15-O\x00\x00R\x00\x16+i\x00\x0f\x93\x01\x0a\x05V\x00\x05W\x00+<+8\x00\x05\xc7\x00\x05[\x00\x0f\\\x00\x0c\x0fQ\x00\x1d\x08\x8f\x00\x0f\x80\x02\x09\x01\xb8\x01\x0f\x04\x00\x0c\x0f\xec\x00\x0a\x01\x0a\x02\x1f+\x18\x01\x15\x16-\xc5\x00\x15+0\x00&[-\xb4\x01\"[- \x00\x11+\x1c\x00\x00\x0e\x00\x13+\x1b\x00\x16]\xb1\x02\x1f]e\x00\x00\x0f~\x01\x00\x08\x8e\x00\x1f>9\x02\x03\x17<\xa6\x00\x0f\"\x00\x04\x1f+N\x00\x03)]<\xcc\x00L[<->D\x02\x00*\x04$<];\x00#[-Y\x00?]<+\x1c\x01\x00\x0fE\x01\x1d\x04\x0b\x02\x17+3\x00([-\xbe\x00$[-&\x00\x19+\x83\x00\x0fO\x012\x0fP\x01\x0e/<]$\x00\x07\x0fS\x01V\x082\x03\x0f\x01\x00\x0a/+>\x01\x00\x10\x1f]\x9e\x01\x01\x0fl\x03\x17\x05.\x00\x1f-Q\x03\x0d\x0f\x94\x05\x03\x0fm\x04\x08\x01\xe5\x00\x11-\xd1\x03\x04\x17\x01\x1f-g\x03\x0a\x0f\x81\x00\x04\x00\xa4\x05\x0c\xf5\x01\x00q\x01&]+K\x01$->h\x00\x03R\x00/-I\x05\x0f<\x02\x09\x0b\x90\x06\x0f!\x05\x03\x0f\x83\x06\x1d/[-\xdf\x02\x00\x04\"\x00\x0e\xc6\x02\x0f2\x06\x89\x0f\xed\x04\x13\x0c8\x06\x1f+6\x06\x85,[-\xe1\x04\x07\xd0\x07\x05\xe3\x04\x04\xc8\x00\x0f\xdf\x04\x07\x0f\x1b\x01\x0e\x0f2\x02\x06\x0f\x81\x06M\x0f\xcc\x07\xed\x0fy\x06_\x1f[s\x00=\x0f\xed\x06U\x0f-\x0b\x1b\x1f<\x88\x0b \x02^\x05\x0f+\x00\x06\x01t\x06\x17-\xcb\x02\x05\x8a\x00\x05\xcf\x02\x12+\xb6\x02\x0f\xf7\x02\x01\x00\x03\x06\x04\x1f\x02\x0e\x04\x03\x04\xd7\x05\x04\x13\x05\x0fH\x07\x0a\x08\xb9\x05\x12-\x1c\x00%[-\xca\x07\x0f`\x07+\x04\xc5\x07\x0f*\x08\x01\x1b<\xa5\x03\x0f \x08\x0b\x0f\xbb\x07;\x0f\xef\x06\x08\x06\x96\x04\x04\x11\x01\x06\x11\x05\x0d,\x0d\x16+\x17\x04\x09\x9b\x08\x0f\xfa\x02\x06\x07\xc3\x03\x03/\x04\x0f-\x00\x08\x16]T\x04\x077\x01\x0f/\x00\x08\x18]`\x00-<j\x07/>+{\x03\x02\x09\x95\x0f\x0f\x94\x0f\x09\x07\xc8\x05\x0f'\x16\x13\x0e\xca\x15\x0fs\x0a\x14\x06\x11\x04\x0fu\x0a\x15\x09g\x04\x0ey\x0a\x0fj\x0a\x10\x0f\x0f\x0aC\x03\xc1\x03\x0e\xc5\x0a\x0f\xb7\x03\x8c\x0fn\x09\x15\x04\xd1\x00\x0fj\x09\x0a\x18+h\x09\x1f-f\x09\x0e\x0ez\x08\x0fb\x09\x06\x1f+`\x09\x02\x03z\x08\x0f\x1d\x18\x11\x0f\xed\x03C\x1f>\xc5\x00\x11\x04\xec\x00\x04\x98\x09\x0eD\x01\x0e\x96\x09\x0fo\x01\x0d\x05\x92\x09\x05\x08\x03\x0b\xd0\x04\x05l\x0b\x0f\xef\x00\x06\x0e=\x01\x0fZ\x19\x15\x0f|\x08\x00\x0f\x0f\x01\x8b\x0e\x96\x0a\x0f\x02\x05\x0f\x0f\x99\x14>\x0f=\x12\x0b\x0f\x0f\x1b\x19\x0f\xdc\x1a\xff\xff\xff\xff\xd4\x01\xae\x09\x0f\xa8\x1a\x0e\x1f][\x14\x0c\x02M\x00\x13.\xe8\x01\x058\x02\x17.z\x00\x0f%\x05\x05\x00\xcc\x00\x0f\x1c\x00\x04\x0f\xd2\x10\x16\x0fi\x0b\x08\x09Z#\x0f\xde!\x11\x1e+\xa6\"\x0f.!(\x02\xfc\x07\x0f\x07\x04\x00\x0f\xf3\x0b\x18\x0f\xef\"\x06\x09Q\x00/<]\x97\x00\x18\x054\x05\x08\xd1\x01\x0b\xe9\x02\x088\x02\x05\x88\x00\x0aX\x08\x07\x00\x08/<\xc4\x0f\x0e\x1d\x01\x0f\xa9\x04\x07\x04J\x02\x0b\xab\x04\x07k\x00,->H\x03\x07\x1b\x01\x16-e\x02\x05\xb0\x04\x0f\xbf\x00S\x0f\xb5\x02#\x0f\xfb)\x00\x0f\xbb\x0d\x15*<-\x07\x01\x04z\x00\x1f-G\x02\x16/<<\xdb\x04,\x0f\x96\x01\x16/<<\xc7\x07\x13\x0f\xe5\x04\x8b/>-\xb8\x01\x08\x1d-d\x00P]>>>]\x00\x00\x00\x00|ka\xa8", cast(int)cast(ushort)65535u / 4))` /opt/dmd-safe/dmd/dmd-safe failed with exit code 1.